/*
 ============================================================================
 文件名 	: EasyBounceRankDataReader.h
 描述		: 用来从文件里读取玩家分数信息.
 ============================================================================
 */
#ifndef CEASYBOUNCERANKDATAREADER_H_
#define CEASYBOUNCERANKDATAREADER_H_

#include "EasyBounceRankContainer.h"

//常量定义
const TInt KMaxLength = 32;

//类声明
class CEasyBounceDataReader : public CActive
	{
public:
	
	/**
	 * ~CEasyBounceDataReader
	 * 虚析构函数
	 */
	~CEasyBounceDataReader();
	
	/**
	 * 两阶段构造函数.
	 */
	static CEasyBounceDataReader* NewLC();
	
	/**
	 * 两阶段构造函数.
	 */
	static CEasyBounceDataReader* NewL();
	void ReadDataL();
	
protected:
	
	/**
	 * CEasyBounceDataReader.
	 * C++默认构造函数.
	 */
	CEasyBounceDataReader();
	
	/**
	 * 两阶段构造函数.
	 */
	void ConstructL();
	
protected:
	
	/**
	 * 活动对象的RunL()方法在异步事件完成后会被调用.
	 */
	void RunL();
	
	/**
	 * 用来取消异步操作.
	 */	
	void DoCancel();
	
	/**
	 * RunL()中发生Leave时，RunError()会被调用.
	 */
	TInt RunError();

private:
	
	RFs iFs;	//文件服务器句柄
	RFile iRankDataFile;	//文件句柄
	TBuf8<KMaxLength> *iRawRankData;
	CEasyBounceRankContainer* iRankContainer; //不拥有此指针
	};
#endif /* CEASYBOUNCERANKDATAREADER_H_ */

//	TBuf16<KMaxLength> *iRankData;
